x86: move alternative.c data fully into .init.*
authorJan Beulich <jbeulich@suse.com>
Mon, 30 Jun 2014 14:01:03 +0000 (16:01 +0200)
committerJan Beulich <jbeulich@suse.com>
Mon, 30 Jun 2014 14:01:03 +0000 (16:01 +0200)
commiteb2952b43a70ae485e297f826212b6b279ca0361
tree957cc9735439441449b574e8d9d3ffc2ea2e5cc5
parentfd33987ba27607c3cc7da258cf1d86d21beeb735
x86: move alternative.c data fully into .init.*

This wasn't done upon the initial addition of the file since the
section processing needs some adjustment for this: We can't mark the
two arrays needing relocations as either __initdata or __initconst, as
both have the potential of creating section conflicts (with -fPIC the
compiler may want to mark the section writable due to the necessary
relocations, colliding with other __initconst uses, and if the compiler
chooses to use the provided section name, __initdata on a constant
object might collide with other __initdata uses). However, local data
known to be referenced only by init code/data can also safely be moved
into .init.*. Hence the respective logic is being tweaked such that it
won't complain on non-empty .*.local sections.

While at it also drop the non-local section names from
SPECIAL_DATA_SECTIONS - they can't be safely converted.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
xen/Rules.mk
xen/arch/x86/Makefile
xen/arch/x86/alternative.c